#include <neweraHPC/neweraHPC.h>

using namespace neweraHPC;

class in_neuron_t
{
private:
   int input;
   
public:
   int pairup();
};   

class out_neuron_t
{
private:
   rbtree_t *connections;
   int      *weights;
   int      count;
   int      threshold;
};

class neural_network_t
{
private:
   rbtree_t     *out_neurons;
   rbtree_t     *in_neurons;
   int          count_out;
   int          count_in;
   rbtree_t     *available_out_neurons;
public:
   neural_network_t();
   ~neural_network_t();
   void add_out_neuron();
   void add_in_neuron();
   int learn();
};
